import type { IModule } from '~/types/apis/module'

export const useTemporaryStore = defineStore(
    'temporary',
    () => {
        const modules = ref<IModule[]>([])
        const selectedModuleId = useLocalStorage('selectedModuleId', -1)
        const editState = ref<object | null>()

        function setEditState(state: object | null) {
            editState.value = state
        }

        function setSelectedModuleId(id: number) {
            console.info("设置module了 ： " + id)
            selectedModuleId.value = id
        }

        function setModules(_modules: IModule[]) {
            modules.value = _modules
        }

        function setModulesById(_modules: {id: number, name: string}): void {
            const index = modules.value.findIndex((module) => module.id === _modules.id)
            modules.value[index].name = _modules.name
        }

        return {
            modules,
            editState,
            selectedModuleId,
            setModules,
            setEditState,
            setSelectedModuleId,
            setModulesById
        }
    },
    {
        persist: true,
    })
